package com.ipc.app.service;

import java.util.Date;
import java.util.List;

import com.ipc.app.model.Order;
import com.ipc.app.model.Paginator;

/**
 * @author 雪
 * 
 */
public interface OrderService {

	public String createOrder(Order order);

	/**
	 * 获取过期订单
	 * 
	 * @return
	 */
	public List<Order> getExpiredOrder(Date date);

	/**
	 * 获取订单
	 * 
	 * 无锁，无事物
	 * 
	 * @param orderID
	 * @return
	 */
	public Order getOrderByID(String orderID);

	/**
	 * 订单更新
	 * 
	 * 事物方式Required，外部可直接调用，或嵌套事物调用
	 * 
	 * @param order
	 */
	public void updateOrder(Order order);

	/**
	 * 锁单
	 * 
	 * @param orderID
	 * @return
	 */
	public Order lockOrder(String orderID);
	
	/**
	 * @param userID
	 * @param pageIndex
	 * @return
	 */
	public Paginator<Order> getOrderByUserID(String userID,int pageIndex);
}
